/*
    This file is part of Emu.

    Emu is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Emu is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Emu.  If not, see <http://www.gnu.org/licenses/>. */
/* Definitions for different operations. */
#define ANSI_RESET       0
#define ANSI_BRIGHT      1
#define ANSI_ITALICIZE   3
#define ANSI_UNDERLINE   4
#define ANSI_REVERSE     7
#define ANSI_HIDDEN      8
#define ANSI_NORMAL     22
#define ANSI_BLACK_FG   30
#define ANSI_RED_FG     31
#define ANSI_GREEN_FG   32
#define ANSI_YELLOW_FG  33
#define ANSI_BLUE_FG    34
#define ANSI_MAGENTA_FG 35
#define ANSI_CYAN_FG    36
#define ANSI_WHITE_FG   37
#define ANSI_BLACK_BG   40
#define ANSI_RED_BG     41
#define ANSI_GREEN_BG   42
#define ANSI_YELLOW_BG  43
#define ANSI_BLUE_BG    44
#define ANSI_MAGENTA_BG 45
#define ANSI_CYAN_BG    46
#define ANSI_WHITE_BG   47

#define ANSI_FG_COLOR_OFFSET 30
#define ANSI_BG_COLOR_OFFSET 40

/* This starts an ANSI command. */
#define ANSI_ESC 27

/* Helps to figure out what's on and what isn't. */
#define ANSI_ATTR_UNDERLINE 0x01
#define ANSI_ATTR_FLASHING  0x02
#define ANSI_ATTR_BRIGHT    0x04
#define ANSI_ATTR_ITALIC    0x10
#define ANSI_ATTR_SWAPPED   0x20

/* For _formatA - FG_PROP and BG_PROP are where ANSI color information is stored. */
#define FG_PROP 0x10001
#define BG_PROP 0x10002

